package com.iris.live.services.services;

import com.iris.live.services.data.models.CarTransferLogModel;
import com.iris.live.services.data.models.Lsh库存表Model;
import com.iris.live.services.models.RequestBase;
import com.iris.live.services.models.ResultData;

/**
 * Created by DF on 3/14/2017
 */
public interface CarTransferService {
//    ResultData isTransferable(String vin);

    ResultData startCarTransfer(CarTransferLogModel model, String dealer, String username);

    ResultData getTransferApprovalPagedList(CarTransferService.getTransferApprovalPagedList request);

    ResultData agreeTransferInApproval(CarTransferService.AgreeTransferInApproval request);

    ResultData disagreeTransferInApproval(CarTransferService.AgreeTransferInApproval request);

    ResultData getTransferInDetail(Integer transferId);

    ResultData getTransferOutDetail(Integer transferId);

    ResultData getTransferApprovalHistory(String transactionCode, String username);

    ResultData agreeTransferOutApproval(CarTransferService.AgreeTransferOutApproval request);

    ResultData disagreeTransferOutApproval(CarTransferService.AgreeTransferOutApproval request);

    ResultData transferOut(String stockId, String user);

    String isTransferComplete(Lsh库存表Model stockMo);

    class getTransferApprovalPagedList extends RequestBase {
        public String userName;
    }

    class GetTransferApprovalHistory {
        public String transactionCode;
    }

    class AgreeTransferInApproval {
        public Integer transactionId;
        public String remark;
    }

    class AgreeTransferOutApproval {
        public Integer transactionId;
        public String remark;
        public String expectedLateMoneyInAccount;
    }
}
